package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * AI对话记录对象 ai_conversation
 * 
 * @author ruoyi
 * @date 2025-01-21
 */
public class AiConversation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 对话ID */
    private Long conversationId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private String userId;

    /** 题目ID */
    @Excel(name = "题目ID")
    private String problemId;

    /** 用户问题 */
    @Excel(name = "用户问题")
    private String question;

    /** AI回答 */
    @Excel(name = "AI回答")
    private String answer;

    /** 问题类型 */
    @Excel(name = "问题类型")
    private String questionType;

    /** 对话时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "对话时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date conversationTime;

    /** 是否有效 */
    @Excel(name = "是否有效")
    private String isValid;

    public void setConversationId(Long conversationId) 
    {
        this.conversationId = conversationId;
    }

    public Long getConversationId() 
    {
        return conversationId;
    }

    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }

    public void setProblemId(String problemId) 
    {
        this.problemId = problemId;
    }

    public String getProblemId() 
    {
        return problemId;
    }

    public void setQuestion(String question) 
    {
        this.question = question;
    }

    public String getQuestion() 
    {
        return question;
    }

    public void setAnswer(String answer) 
    {
        this.answer = answer;
    }

    public String getAnswer() 
    {
        return answer;
    }

    public void setQuestionType(String questionType) 
    {
        this.questionType = questionType;
    }

    public String getQuestionType() 
    {
        return questionType;
    }

    public void setConversationTime(Date conversationTime) 
    {
        this.conversationTime = conversationTime;
    }

    public Date getConversationTime() 
    {
        return conversationTime;
    }

    public void setIsValid(String isValid) 
    {
        this.isValid = isValid;
    }

    public String getIsValid() 
    {
        return isValid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("conversationId", getConversationId())
            .append("userId", getUserId())
            .append("problemId", getProblemId())
            .append("question", getQuestion())
            .append("answer", getAnswer())
            .append("questionType", getQuestionType())
            .append("conversationTime", getConversationTime())
            .append("isValid", getIsValid())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
} 